'\" te
.\" Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH IN.NDPD 8 "September 12, 2020"
.SH NAME
in.ndpd \- daemon for IPv6 autoconfiguration
.SH SYNOPSIS
.nf
\fB/usr/lib/inet/in.ndpd\fR [\fB-adt\fR] [\fB-f\fR \fIconfig_file\fR]
.fi

.SH DESCRIPTION
\fBin.ndpd\fR provides both the host and router autoconfiguration components of
Neighbor Discovery for IPv6 and Stateless and Stateful Address
Autoconfiguration for IPv6. In particular, \fBin.ndpd\fR implements:
.RS +4
.TP
.ie t \(bu
.el o
router discovery;
.RE
.RS +4
.TP
.ie t \(bu
.el o
prefix discovery;
.RE
.RS +4
.TP
.ie t \(bu
.el o
parameter discovery;
.RE
.RS +4
.TP
.ie t \(bu
.el o
invocation of stateful address autoconfiguration;
.RE
.RS +4
.TP
.ie t \(bu
.el o
stateless address autoconfiguration; and
.RE
.RS +4
.TP
.ie t \(bu
.el o
privacy extensions for stateless address autoconfiguration.
.RE
.sp
.LP
Other aspects of Neighbor Discovery are implemented by \fBip6\fR(4P),
including:
.RS +4
.TP
.ie t \(bu
.el o
address resolution;
.RE
.RS +4
.TP
.ie t \(bu
.el o
neighbor unreachability detection; and
.RE
.RS +4
.TP
.ie t \(bu
.el o
redirect.
.RE
.sp
.LP
The duplicate address detection function is implemented by the system kernel.
.sp
.LP
\fBin.ndpd\fR is managed by the service management facility (SMF), by means of
the service identifier:
.sp
.in +2
.nf
svc:/network/routing/ndp:default
.fi
.in -2
.sp

.sp
.LP
If the \fB/etc/inet/ndpd.conf\fR file does not exist or does not set the
variable \fBAdvSendAdvertisements\fR to true for a network interface, then
\fBin.ndpd\fR will make the node a host for that interface, that is, sending
router solicitation messages and then using router advertisement messages it
receives to autoconfigure the node. Note that \fBin.ndpd\fR only autoconfigures
the addresses of global or site-local scope from the prefix advertisement.
.sp
.LP
If \fBAdvSendAdvertisements\fR is set to true for an interface, then
\fBin.ndpd\fR will perform router functions on that interface, that is, sending
router advertisement messages to autoconfigure the attached hosts, but not use
any advertisements it receives for autoconfiguration. However, when sending
advertisements, \fBin.ndpd\fR will use the advertisements it sends itself to
autoconfigure its prefixes.
.sp
.LP
Stateless autoconfiguration requires no manual configuration of hosts, minimal
(if any) configuration of routers, and no additional servers. The stateless
mechanism enables a host to generate its own addresses and uses local
information as well as non-local information that is advertised by routers to
generate the addresses. \fBin.ndpd\fR will plumb logical interfaces for each of
these addresses.
.sp
.LP
Stateful autoconfiguration involves the \fBdhcpagent\fR(8) daemon and the use
of the DHCPv6 protocol. The \fBdhcpagent\fR daemon is responsible for plumbing
the logical interfaces for the acquired addresses, maintaining the leases, and
handling duplicate addresses. \fBin.ndpd\fR starts the \fBdhcpagent\fR daemon
automatically and signals when DHCPv6 should be started. \fBin.ndpd\fR also
detects when \fBdhcpagent\fR configures the logical interfaces, and sets the
appropriate prefix length on each according to received Routing Advertisement
messages. \fBin.ndpd\fR will not stop \fBdhcpagent\fR; use \fBifconfig\fR(8)
to control \fBdhcpagent\fR if necessary.
.sp
.LP
Temporary addresses that are autoconfigured for an interface can also be
implemented. A temporary address token is enabled for one or more interfaces on
a host. However, unlike standard, autoconfigured IPv6 addresses, a temporary
address consists of the site prefix and a randomly generated 64 bit number.
This random number becomes the interface ID segment of the IPv6 address. A
link-local address is not generated with the temporary address as the interface
ID.
.sp
.LP
If the kernel detects a duplicate temporary address, \fBin.ndpd\fR will
automatically choose another.
.sp
.LP
Routers advertise all prefixes that have been assigned on the link. IPv6 hosts
use Neighbor Discovery to obtain a subnet prefix from a local router. Hosts
automatically create IPv6 addresses by combining the subnet prefix with an
interface IDs that is generated from an interface's MAC address. In the absence
of routers, a host can generate only link-local addresses. Link-local addresses
can only be used for communication with nodes on the same link.
.sp
.LP
For information on how to enable IPv6 address autoconfiguration, see
\fISystem Administration Guide: IP Services\fR.
.SH OPTIONS
Supported options and equivalent SMF service properties are listed below. SMF
service properties are set using a command of the form:
.sp
.in +2
.nf
# \fBrouteadm -m ndp:default \fIkey\fR=\fIvalue\fR\fR
.fi
.in -2
.sp

.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.sp .6
.RS 4n
Turn off stateless and stateful address auto configuration. When set, the
daemon does not autoconfigure any addresses and does not renumber any
addresses. This option does the same thing as the following lines in
\fBndpd.conf\fR(5):
.sp
.in +2
.nf
ifdefault StatefulAddrConf off
ifdefault StatelessAddrConf off
.fi
.in -2

Use of this option is equivalent to setting the \fBstateless_addr_conf\fR
property to false.
.RE

.sp
.ne 2
.na
\fB\fB-d\fR\fR
.ad
.sp .6
.RS 4n
Turn on large amounts of debugging output on \fBstdout\fR. When set, the
program runs in the foreground and stays attached to the controlling terminal.
Use of this option is equivalent to setting the \fBdebug\fR property to true.
.RE

.sp
.ne 2
.na
\fB-f\fR \fIconfig_file\fR
.ad
.sp .6
.RS 4n
Use \fIconfig_file\fR for configuration information instead of the default
\fB/etc/inet/ndpd.conf\fR. Use of this option is equivalent to setting the
\fBconfig_file\fR property to the configuration file to be used.
.RE

.sp
.ne 2
.na
\fB\fB-t\fR\fR
.ad
.sp .6
.RS 4n
Turn on tracing (printing) of all sent and received packets to \fBstdout\fR.
When set, the program runs in the foreground and stays attached to the
controlling terminal. As such, this option cannot be run under the SMF.
.RE

.SH FILES
.ne 2
.na
\fB\fB/etc/inet/ndpd.conf\fR\fR
.ad
.RS 23n
Configuration file. This file is not necessary on a host, but it is required on
a router to enable \fBin.ndpd\fR to advertise autoconfiguration information to
the hosts.
.RE

.SH SEE ALSO
.BR icmp6 (4P),
.BR ip6 (4P),
.BR ndp (4P),
.BR ndpd.conf (5),
.BR attributes (7),
.BR smf (7),
.BR dhcpagent (8),
.BR ifconfig (8),
.BR ndp (8),
.BR routeadm (8),
.BR svcadm (8)
.sp
.LP
Narten, T., Nordmark, E., Simpson, W. \fIRFC 2461, Neighbor Discovery for IP
Version 6 (IPv6)\fR. The Internet Society. December 1998.
.sp
.LP
Thomson, S., Narten, T. \fIRFC 2462, IPv6 Stateless Address
Autoconfiguration\fR. The Internet Society. December 1998.
.sp
.LP
Narten, T., and Draves, R. \fIRFC 3041, Privacy Extensions for Stateless
Address Autoconfiguration in IPv6\fR. The Internet Society. January 2001.
.SH DIAGNOSTICS
Receipt of a \fBSIGHUP\fR signal will make \fBin.ndpd\fR restart and reread
\fB/etc/inet/ndpd.conf\fR.
.SH NOTES
The \fBin.ndpd\fR daemon service is managed by the service management facility,
\fBsmf\fR(7), under the service identifier:
.sp
.in +2
.nf
svc:/network/routing/ndp:default
.fi
.in -2

.sp
.LP
Administrative actions on this service, such as enabling, disabling, or
requesting restart, can be performed using \fBsvcadm\fR(8) or
\fBrouteadm\fR(8).
